home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / ASM-SPAR.{_6 / DELAY.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  601b  |  26 lines

  1. /* $Id: delay.h,v 1.10 1997/11/07 18:24:30 mj Exp $
  2.  * delay.h: Linux delay routines on the Sparc.
  3.  *
  4.  * Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu).
  5.  */
  6.  
  7. #ifndef __SPARC_DELAY_H
  8. #define __SPARC_DELAY_H
  9.  
  10. extern unsigned long loops_per_sec;
  11.  
  12. extern __inline__ void __delay(unsigned long loops)
  13. {
  14.     __asm__ __volatile__("cmp %0, 0\n\t"
  15.                  "1: bne 1b\n\t"
  16.                  "subcc %0, 1, %0\n" :
  17.                  "=&r" (loops) :
  18.                  "0" (loops) :
  19.                  "cc");
  20. }
  21.  
  22. /* This is too messy with inline asm on the Sparc. */
  23. extern void udelay(unsigned long usecs);
  24.  
  25. #endif /* defined(__SPARC_DELAY_H) */
  26.